﻿Public Module KT_ThongTinNguoiDung
    Dim Loi As String = ""
    'Kiểm tra tên đăng nhập có hợp lệ ko
    Public Function KT_TenDangNhap(ByVal ten As String) As String
        If (ten.Length < 4) Or (ten.Length > 15) Then
            Loi = "Tên đăng nhập phải từ 4 - 15 ký số"
            Return Loi
        Else
            If KT_Chuoi(ten) = False Then
                Loi = "Các ký tự phải là 0-9, a-z, A-Z"
                Return Loi
            Else
                Dim so As Integer = Convert.ToInt32(ten(0))
                If so >= 48 And so <= 57 Then
                    Loi = "Tên đăng nhập không được bắt đầu là số"
                    Return Loi
                End If
            End If
        End If
        Return Loi
    End Function

    Public Function KT_MatKhau(ByVal mk As String) As String
        Loi = ""
        If (mk.Length < 6) Or (mk.Length > 15) Then
            Loi = "Mật khẩu phải từ 4 - 15 ký số"
            Return Loi
        ElseIf KT_Chuoi(mk) = False Then
            Loi = "Các ký tự phải là 0-9, a-z, A-Z"
            Return Loi
        End If
        Return Loi
    End Function

    'Kiểm tra 1 ký tự có nằm trong [0, 9], [a, z], [A, Z]
    Public Function KT_KyTu(ByVal c As Char) As Boolean
        Dim so As Integer = Convert.ToInt32(c)

        Select Case so
            Case 48 To 57 'c thuộc [0, 9]
                Return True
            Case 65 To 92 'c thuộc [A, Z]
                Return True
            Case 97 To 122 'c thuộc [a, z]
                Return True
            Case Else
                Return False
        End Select
        'Return False
    End Function

    'Kiểm tra 1 chuỗi có hợp lệ ko
    Public Function KT_Chuoi(ByVal s As String) As Boolean
        For i As Integer = 0 To s.Length - 1
            If KT_KyTu(s(i)) = False Then
                Return False
            End If
        Next
        Return True
    End Function
End Module
